Embodiments of the present invention relate generally to methods and systems for dynamically tailoring content to a device upon which it will be consumed and more particularly to dynamically generating an interface including conditional content based on runtime variables related to the device on which the content will be presented.
Mobile devices of various types are increasingly used to perform the same functions and consume the same content as more traditional computing devices with larger screens or displays. While convenient to carry and use, the relatively small displays of mobile devices sometimes presents problems when a user attempts to view content that is more suited for a larger display. For example, when a user takes a survey, the survey is most often served via a web page. Surveys can contain multiple question types, such as radio button choices, or a free-form text response. Additionally, some surveys may be built with desktop capabilities, such as large images or extensive tables of data. If that survey is taken on a small-screen device, such as a mobile phone, the long text answers are difficult to answer with tiny keys, and the large images now blanket the page, forcing a scroll to get “around” that picture.
One way to deal with this problem may be to define standards or “best practices” to instruct people to not use these question types or images, but then the survey falls short or is less powerful. Other solutions may use a special <div> tag, then show or hide those using javascript or other client-executed code. However, such practices are insecure, allowing the viewable source to show both experiences. Additionally, that practice may not be a design that is followed by current or future mobile devices. Hence, there is a need for improved methods and systems for dynamically tailoring content to a device upon which it will be consumed.